package com.nuoniu.sibanyun.service.crm.call;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nuoniu.sibanyun.entity.crm.call.CrmCallBaseSetting;
import com.nuoniu.sibanyun.entity.crm.call.dto.CrmCallBaseSettingSearchDto;

import java.util.List;

/**
 * <p>
 * 客户管理-外呼套餐 服务类
 * </p>
 *
 * @author 白强
 * @since 2022-04-28
 */
public interface ICrmCallBaseSettingService extends IService<CrmCallBaseSetting> {

    /**
     * 分页查询套餐信息
     * @param crmCallBaseSettingSearchDto
     * @return
     */
    Page<CrmCallBaseSetting> pageCrmCallBaseSetting(CrmCallBaseSettingSearchDto crmCallBaseSettingSearchDto);

    /**
     * 保存 套餐信息
     * @param crmCallBaseSetting
     */
    void saveCrmCallBaseSetting(CrmCallBaseSetting crmCallBaseSetting);

    /**
     * 校验重名
     * @param name
     * @param oldId
     * @return
     */
    boolean checkName(String name,Long oldId);

    /**
     * 批量删除套餐(超级管理员)
     * @param ids
     */
    void deleteByIds(List<Long> ids);

    /**
     * 批量启用套餐(超级管理员)
     * @param ids
     */
    void batchEnable(List<Long> ids);
    /**
     * 批量禁用套餐(超级管理员)
     * @param ids
     */
    void batchDisable(List<Long> ids);

    /**
     * 批量禁用套餐状态
     * @param ids
     * @param status
     */
    void batchUpdateStatus(List<Long> ids,Integer status);

    /**
     * 获取指定状态的数量
     * @param ids
     * @param status
     * @return
     */
    int batchCheckStatus(List<Long> ids,Integer status);

    /**
     * 购买 套餐
     * @param baseSettingId
     */
    void saveBaseSettingOrder(Long baseSettingId);



}
